Fornece como retorno o número da versão corrente da biblioteca. O string do número da versão tem o formato "major.minor.build". Por exemplo, o string "2.1.3" tem 2 como número de versão principal (major), 1 como número de versão secundário (minor) e 3 como número de versão de construção (build). O número de versão principal representa uma mudança de estrutura ou comportamento de funções, o número de versão secundário representa um ou mais drivers novos ou novas funções adicionados à biblioteca, o número de versão de construção representa uma ou mais falhas corrigidas.
Cria um canvas CD para uma superfície de visualização virtual (VVS). Uma VVS pode ser um canvas de uma janela de interface com o usuário, a página de um documento enviado para a impressora, uma imagem offscreen, o clipboard, um metafile e assim por diante. Para criar o canvas, é necessário especificar o driver no qual cada canvas se comporta.
O driver é definido pela variável driver com informações adicionais dadas no parâmetro data. Ainda que seja possível criar mais de um canvas com o mesmo par driver/data, isso não é recomendado e seu comportamento não é especificado. Cada canvas mantém suas próprias propriedades.
Em caso de falha, um valor NULL é fornecido como retorno. Os seguintes drivers pré-definidos estão disponíveis:
Drivers Baseados em Janelas
- CD_IUP = canvas IUP (cdiup.h).
- CD_NATIVEWINDOW = Native Window (cdnative.h).
Drivers Baseados em Dispositivos
- CD_CLIPBOARD = Clipboard (cdclipbd.h).
- CD_PRINTER = Impressora (cdprint.h).
Drivers Baseados na Memória
- CD_IMAGE = Desenho offscreen (cdimage.h).
- CD_IMAGERGB = Desenho de imagem de cliente (cdimrgb.h).
Drivers Baseados em Arquivos
- CD_CGM = Computer Graphics Metafile ISO (cdcgm.h).
- CD_DGN = Arquivo MicroStation Design (cddgn.h).
- CD_DXF = Arquivo AutoCad Drawing Interchange (cddxf.h).
- CD_EMF = Microsoft Windows Enhanced Metafile (cdemf.h). Funciona apenas em sistemas MS Windows.
- CD_METAFILE = Metafile Canvas Draw (cdmf.h).
- CD_PS = Arquivo PostScript (cdps.h).
- CD_WMF = Microsoft Windows Metafile (cdwmf.h).
Idem a cdCreateCanvas, usada para o caso em que o parâmetro data é uma string composta por vários parâmetros, pode-se usar essa função com parametros equivalentes a da função printf da biblioteca padrão de C.
Destrói um canvas criado anteriormente.
Ativa um canvas para desenho. Não existe um cdDeactivate explícito. Quando um novo canvas é ativado, o corrente é desativado (existe apenas um canvas ativo em um dado momento). A função fornece como retorno um status, CD_OK ou CD_ERROR, que indica se o canvas-alvo foi ativado com sucesso ou não.
Fornece como retorno o canvas ativo.
Retorna o contexto de um determinado canvas, pode-se compará-lo com os contextos pré-definidos, tais como "CD_PS".
Retorna os recursos disponíveis naquele contexto. Para verificar se um determinado recurso está disponível realize um AND (&) binário com os valores a seguir (em Lua deve-se fazer uma soma dos valores):
CD_CAP_FLUSH
CD_CAP_CLEAR
CD_CAP_PLAY
CD_CAP_YAXIS - O eixo Y possui mesma orientação que o eixo do CD.
CD_CAP_CLIPAREA
CD_CAP_CLIPPOLY - Em geral não é implementado.
CD_CAP_MARK - Marcas são implementadas diretamente no driver (o normal é simulação).
CD_CAP_RECT - Retângulos são implementados diretamente no driver (o normal é simulação).
CD_CAP_VECTORTEXT - Texto vetorial é implementado diretamente no driver (o normal é simulação).
CD_CAP_IMAGERGB
CD_CAP_IMAGERGBA - Se não for impementado, mas se cdGetImageRGB for, então é simulado usando cdGetImageRGB e cdPutImageRGB.
CD_CAP_IMAGEMAP
CD_CAP_GETIMAGERGB
CD_CAP_IMAGESRV - Em geral só é implementado em contextos de em sistemas gráficos de janelas (Native Window e IUP).
CD_CAP_BACKGROUND
CD_CAP_BACKOPACITY
CD_CAP_WRITEMODE
CD_CAP_LINESTYLE
CD_CAP_LINEWITH
CD_CAP_WD - Funções de coordenadas de mundo são implementadas diretamente no driver (o normal é simulação).
CD_CAP_HATCH
CD_CAP_STIPPLE
CD_CAP_PATTERN
CD_CAP_FONT
CD_CAP_FONTDIM - Caso não esteja definido, a função é implementada usando-se uma heirística interna da biblioteca.
CD_CAP_TEXTSIZE - Caso não esteja definido, a função é implementada usando-se uma heirística interna da biblioteca.
CD_CAP_TEXTORIENTATION - Em geral não é implementado.
CD_CAP_PALETTE - Em geral só é implementado em contextos de em sistemas gráficos de janelas (Native Window e IUP).
Possui um significado diferente para cada driver. É útil para enviar informações para dispositivos buffered e para mudar para uma página ou uma camada nova. Em todos os casos, os atributos atuais do canvas são preservados.
Limpa o canvas ativo utilizando a cor de fundo corrente. Esta ação é interpretada de forma muito diferente em cada driver. Muitos drivers apenas desenham um retângulo com a cor de fundo corrente. NÃO é necessário chamar cdClear assim que o canvas é criado, visto que nesse momento ele já está limpo. A maioria do drivers baseados em arquivos não implementa esta função.
Ativa simulação de uma ou mais primitivas e clipping, para o canvas ativo. É ignorada para canvas do contexto ImageRGB, pois neste caso tudo já é simulado. Assim como, não tem efeito para primitivas que já são normalmente simuladas. Retorna a simulação anterior, mas não inclui primitivas que já são normalmente simuladas. A simulação pode ser ativada em qualquer instante, por exemplo se apenas para uma situação é necessária simulação de linha, pode-se ativar a simulação, desenhar a linha e desativar a simulação em seguida.
ATENÇÃO: o uso da simulação de clipping faz com que algumas primitivas sejam interamente simuladas, tais como Polígonos, Arcos e Setores. Seja cuidadoso ao ativar simulação de clipping.
Verifique no sub-driver de Simulação as informações de como cada simulação é feita.
Para ativar uma determinada simulação realize um AND (&) binário com os valores a seguir (em Lua deve-se fazer uma soma dos valores):
CD_SIM_NONE - Desativa todo o tipo de simulação.
CD_SIM_CLIPAREA
CD_SIM_CLIPPOLY
CD_SIM_TEXT
CD_SIM_MARK
CD_SIM_LINE
CD_SIM_RECT
CD_SIM_ARC
CD_SIM_POLYLINE
CD_SIM_BOX
CD_SIM_SECTOR
CD_SIM_POLYGON
CD_SIM_WD
CD_SIM_VECTORTEXT
CD_SIM_ALL - Ativa todas as opções de simulação.
CD_SIM_LINES - Combinação de CD_SIM_LINE, CD_SIM_RECT, CD_SIM_ARC e CD_SIM_POLYLINE.
CD_SIM_FILLS - Combinação de CD_SIM_BOX, CD_SIM_SECTOR e CD_SIM_POLYGON.
CD_SIM_CLIP - Combinação de CD_SIM_CLIPAREA e CD_SIM_CLIPPOLY.
Salva um estado de atributos do canvas ativo, retornando-o. A memória alocada para isto só será liberada na chamada a cdRestoreState. Não salva callbacks, estado de criação de polígonos (begin/vertex/vertex/...) e a palette.
Restaura um estado de atributos do canvas ativo. A memória alocada pela função cdSaveState é liberada e o ponteiro não é mais válido. Pode ser usado entre canvas de contextos diferentes.
Modifica um atributo personalizado diretamente no driver do canvas ativo. Se o driver não possuir esse atributo, a chamada é ignorada.
Idem a cdSetAttribute, usada para o caso em que o parâmetro data é uma string composta por vários parâmetros, pode-se usar essa função com parametros equivalentes a da função printf da biblioteca padrão de C.
Retorna um atributo personalizado do driver do canvas ativo. Se o driver não possuir esse atributo, retorna NULL.
Interpreta o conteúdo gráfico (primitivas e atributos) em um determinado driver e chama funções equivalentes da biblioteca CD utilizando o canvas ativo. As primitivas são geradas dentro da região definida pelas coordenadas dadas. Se xmin,xmax,ymin e ymax forem 0 as primitivas são geradas com suas coordenadas tendo os valores originais no arquivo. Apenas alguns drivers têm esta função implementada.
Drivers disponíveis:
- CD_CLIPBOARD = Clipboard, data é ignorado. Funciona apenas nos sistemas Motif, MS Windows e Macintosh.
- CD_WMF = Windows Metafile, data é um char* para o string ''filename''. Funciona apenas no sistema MS Windows.
- CD_EMF = Windows Enhanced Metafile, data é um char*para o string ''filename''. Funciona apenas no sistema MS Windows.
- CD_CGM = Computer Graphics Metafile ISO, data é um char* para o string ''filename''.
- CD_METAFILE = Metafile Canvas Draw, data é um char*para o string ''filename''.
Utilizado para personalizar o comportamento da função cdPlay. Se você registrar uma função de callback conhecida, ela será chamada durante o loop de processamento de cdPlay.
Há uma callback padrão comum a todas as implementações de cdPlay, CD_SIZECB. Sua definição é "int cdResizeCB(cdContext *driver, int width, int height, double mm_width, double mm_height)", e ela fornece como retorno o tamanho da figura no arquivo antes que qualquer função da biblioteca CD seja chamada, de forma que você pode chamar a função cdPlay sem um canvas ativo e criar o canvas dentro da callback. Ela funciona como a função cdGetCanvasSize. Se a callback der como retorno 1, a função cdPlay é abortada.
Os identificadores das callbacks de um determinado driver devem estar no arquivo de inclusão público relativo aquele driver, com o prefixo "CD_XX_CB_", onde XX identifica aquele driver.